Using Meta-code Generation to Realize Higher-order Model Transformations
نویسندگان
چکیده
Model-driven engineering is a wide-spread paradigm in modern software engineering. During the last couple of years, many tools and languages have been developed, which are especially designed for model transformations — a discipline which is needed in many model-driven engineering approaches. While most of the existing model-to-model tools and languages are tailored towards batch transformations for specific model instances, they lack support for generic transformation problems, where the metamodel is unknown beforehand. In this paper we present a two-step meta-code generation approach that derives a metamodel-specific modelto-model transformation from a model-to-text transformation. The approach has been successfully applied to the problem of product derivation in model-driven software product lines.
منابع مشابه
Defining and validating transformations of UML models
With the success of the UML, the ability of transforming models into programs or formal specifications becomes a key to automated code generation or verification in the software development process. In this paper, we describe a concept for specifying model transformations by means of graph transformation rules on the UML meta model. In order to validate the termination and uniqueness of such tr...
متن کاملA Catalog of Patterns for Program Generation
Generation of source code is becoming a more and more important tool for software engineering, especially in the context of model drien development and MDA. While it is possible in theory to „generate code“ just using printf, this approach is insufficient in all but the most trivial cases. However, there are several alternatives. This paper introduces a set of patterns that describe the most co...
متن کاملHarvesting Software Systems for MDA-Based Reengineering
In this paper we report on a feasibility study in reengineering legacy systems towards a model-driven architecture (MDA). Steps in our approach consist of (1) parsing the source code of the legacy system according to a grammar; (2) mapping the abstract syntax trees thus obtained to a grammar model that is defined in the Meta-Object Facility (MOF); (3) using model to model (M2M) transformations ...
متن کاملAn In-Depth Look at ALIA4J
New programming languages supporting advanced modularization mechanisms are often implemented as transformations to the imperative intermediate representation of an already established language. But while their core constructs largely overlap in semantics, re-using the corresponding transformations requires re-using their syntax as well; this is limiting. In the ALIA4J approach, we identified d...
متن کاملAutomatic generation of platform-specific transformation
The current paper presents a new approach using generic and meta-transformations for generating platform-specific transformer plugins from model transformation specifications defined by a combination of graph transformation and abstract state machine rules (as used within the VIATRA2 framework). The essence of the approach is to store transformation rules as ordinary models in the model space, ...
متن کامل